package pers.ljf.escloud.service.modules.app;

import com.baomidou.mybatisplus.extension.service.IService;
import pers.ljf.escloud.common.dto.AppLoginUserInfo;
import pers.ljf.escloud.common.req.EntSaveRequest;
import pers.ljf.escloud.common.req.UserSaveReq;
import pers.ljf.escloud.dao.entity.app.Bucket;
import pers.ljf.escloud.dao.entity.app.User;
import pers.ljf.escloud.dao.entity.app.UserToken;
import pers.ljf.escloud.service.util.PageUtils;

import java.util.Map;


public interface UserService extends IService<User> {

    UserToken queryByToken(String accessToken);

    User queryUser(Long userId);

    User queryByUserName(String username);

    UserToken createToken(Long userId);

    void logout(Long userId);

    Bucket getBucket(Long id);

    AppLoginUserInfo getUserDetailInfo(User user);

    User validateUserToken(String accessToken);

    void save(EntSaveRequest form);

    PageUtils queryPage(Long entId, Map<String, Object> params);

    void save(UserSaveReq req);
}
